package com.yunji.storage.enums;

import lombok.Getter;

/**
 * @author : peter-zhu
 * @date : 2025/1/3 11:12
 * @description : TODO
 **/
public enum StorageCycleEnum {
    STORAGE_ALLOCATE_STORAGE, STORAGE_DISCARD_STORAGE;

    @Getter
    enum STORAGE_ALLOCATE {
        COMMIT("STORAGE_ALLOCATE_STORAGE_2", "待入库"),
        FINISH("STORAGE_ALLOCATE_STORAGE_3", "已完成"),
        CANCEL("STORAGE_ALLOCATE_STORAGE_4", "已取消"),
        SCRAP("STORAGE_ALLOCATE_STORAGE_5", "作废");
        private final String code;
        private final String text;

        STORAGE_ALLOCATE(String code, String text) {
            this.code = code;
            this.text = text;
        }
    }

    @Getter
    enum STORAGE_DISCARD {
        COMMIT("STORAGE_DISCARD_STORAGE_1", "提交表单"),
        WAIT("STORAGE_DISCARD_AUDIT_1", "待审核"),
        REJECT("STORAGE_DISCARD_AUDIT_2", "审核驳回"),
        ACCEPT("STORAGE_DISCARD_AUDIT_2", "审核通过"),
        FINISH("STORAGE_DISCARD_STORAGE_2", "已完成"),
        CANCEL("STORAGE_DISCARD_STORAGE_3", "已取消"),
        SCRAP("STORAGE_DISCARD_STORAGE_4", "作废");
        private final String code;
        private final String text;

        STORAGE_DISCARD(String code, String text) {
            this.code = code;
            this.text = text;
        }
    }

    @Getter
    enum STORAGE_REPAIR {
        COMMIT("STORAGE_REPAIR_STORAGE_1", "提交表单"),
        WAIT_AUDIT("STORAGE_REPAIR_AUDIT_0", "待审核"),
        ACCEPT("STORAGE_REPAIR_AUDIT_1", "审核通过"),
        REJECT("STORAGE_REPAIR_AUDIT_2", "审核驳回"),
        WAIT_INTO_STORAGE("STORAGE_REPAIR_STORAGE_2", "待入库"),
        FINISH("STORAGE_REPAIR_STORAGE_3", "已完成"),
        CANCEL("STORAGE_REPAIR_STORAGE_4", "已取消"),
        SCRAP("STORAGE_REPAIR_STORAGE_5", "作废");
        private final String code;
        private final String text;

        STORAGE_REPAIR(String code, String text) {
            this.code = code;
            this.text = text;
        }
    }

    @Getter
    enum STORAGE_STOCKTAKE {
        WAIT_STOCKTAKE("STORAGE_STOCKTAKE_STORAGE_1", "待盘点"),
        PROCEED("STORAGE_STOCKTAKE_STORAGE_2", "盘点中"),
        OVER("STORAGE_STOCKTAKE_STORAGE_3", "盘点结束"),
        WAIT_AUDIT("STORAGE_STOCKTAKE_AUDIT_0", "待审核"),
        ACCEPT("STORAGE_STOCKTAKE_AUDIT_1", "审核通过"),
        REJECT("STORAGE_STOCKTAKE_AUDIT_2", "审核驳回"),
        FINISH("STORAGE_STOCKTAKE_STORAGE_4", "已完成"),
        CANCEL("STORAGE_STOCKTAKE_STORAGE_5", "已取消"),
        SCRAP("STORAGE_STOCKTAKE_STORAGE_6", "作废");
        private final  String code;
        private final String text;
        STORAGE_STOCKTAKE(String code, String text) {
            this.code = code;
            this.text = text;
        }
    }
}
